package com.wing.cabinet.model.request;

import com.wing.cabinet.model.entity.CabinetLoadPlanDetail;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.wing.cabinet.model.entity.CabinetLoadPlan;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

/**
 * 上货计划Form
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class CabinetLoadPlanForm {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 编号
     */
    private String code;

    /**
     * 类型
     */
    private CabinetLoadPlan.Type type;

    /**
     * 状态
     */
    private CabinetLoadPlan.Status status;

    /**
     * 配货需求订单ID
     */
    private Long distributionDemandId;

    /**
     * 入驻企业ID
     */
    private Long companyId;

    /**
     * 接入刀柜ID
     */
    private Long cabinetId;

    /**
     * 领货仓库ID
     */
    private Long warehouseId;

    /**
     * 上货计划明细集合
     */
    private List<CabinetLoadPlanDetailForm> cabinetLoadPlanDetailForms = new ArrayList<>();

    public interface Add{}

    public interface Update{}

    private CabinetLoadPlan.State state;

    /**
     * 企业编码
     */
    private String enterpriseCode;
}
